<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<title>Property (POI API Documentation)</title>
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="Property (POI API Documentation)";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Property.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/poi/hpsf/NoSingleSectionException.html" title="class in org.apache.poi.hpsf"><span class="strong">PREV CLASS</span></a></li>
<li><a href="../../../../org/apache/poi/hpsf/PropertySet.html" title="class in org.apache.poi.hpsf"><span class="strong">NEXT CLASS</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/poi/hpsf/Property.html" target="_top">FRAMES</a></li>
<li><a href="Property.html" target="_top">NO FRAMES</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>SUMMARY:&nbsp;</li>
<li>NESTED&nbsp;|&nbsp;</li>
<li><a href="#field_summary">FIELD</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">CONSTR</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">METHOD</a></li>
</ul>
<ul class="subNavList">
<li>DETAIL:&nbsp;</li>
<li><a href="#field_detail">FIELD</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">CONSTR</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">METHOD</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<p class="subTitle">org.apache.poi.hpsf</p>
<h2 title="Class Property" class="title">Class Property</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.apache.poi.hpsf.Property</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../org/apache/poi/hpsf/MutableProperty.html" title="class in org.apache.poi.hpsf">MutableProperty</a></dd>
</dl>
<hr>
<br>
<pre>public class <strong>Property</strong>
extends java.lang.Object</pre>
<div class="block"><p>A property in a <a href="../../../../org/apache/poi/hpsf/Section.html" title="class in org.apache.poi.hpsf"><code>Section</code></a> of a <a href="../../../../org/apache/poi/hpsf/PropertySet.html" title="class in org.apache.poi.hpsf"><code>PropertySet</code></a>.</p>

 <p>The property's <strong>ID</strong> gives the property a meaning
 in the context of its <a href="../../../../org/apache/poi/hpsf/Section.html" title="class in org.apache.poi.hpsf"><code>Section</code></a>. Each <a href="../../../../org/apache/poi/hpsf/Section.html" title="class in org.apache.poi.hpsf"><code>Section</code></a> spans
 its own name space of property IDs.</p>

 <p>The property's <strong>type</strong> determines how its
 <strong>value </strong> is interpreted. For example, if the type is
 <a href="../../../../org/apache/poi/hpsf/Variant.html#VT_LPSTR"><code>Variant.VT_LPSTR</code></a> (byte string), the value consists of a
 DWord telling how many bytes the string contains. The bytes follow
 immediately, including any null bytes that terminate the
 string. The type <a href="../../../../org/apache/poi/hpsf/Variant.html#VT_I4"><code>Variant.VT_I4</code></a> denotes a four-byte integer
 value, <a href="../../../../org/apache/poi/hpsf/Variant.html#VT_FILETIME"><code>Variant.VT_FILETIME</code></a> some date and time (of a
 file).</p>

 <p>Please note that not all <a href="../../../../org/apache/poi/hpsf/Variant.html" title="class in org.apache.poi.hpsf"><code>Variant</code></a> types yet. This might change
 over time but largely depends on your feedback so that the POI team knows
 which variant types are really needed. So please feel free to submit error
 reports or patches for the types you need.</p>

 <p>Microsoft documentation: <a
 href="http://msdn.microsoft.com/library/en-us/stg/stg/property_set_display_name_dictionary.asp?frame=true">
 Property Set Display Name Dictionary</a>.</div>
<dl><dt><span class="strong">Author:</span></dt>
  <dd>Rainer Klute <a
 href="mailto:klute@rainer-klute.de">&lt;klute@rainer-klute.de&gt;</a>, Drew Varner (Drew.Varner InAndAround sc.edu)</dd>
<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/poi/hpsf/Section.html" title="class in org.apache.poi.hpsf"><code>Section</code></a>, 
<a href="../../../../org/apache/poi/hpsf/Variant.html" title="class in org.apache.poi.hpsf"><code>Variant</code></a></dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/poi/hpsf/Property.html#id">id</a></strong></code>
<div class="block">The property's ID.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/poi/hpsf/Property.html#type">type</a></strong></code>
<div class="block">The property's type.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected java.lang.Object</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/poi/hpsf/Property.html#value">value</a></strong></code>
<div class="block">The property's value.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier</th>
<th class="colLast" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/poi/hpsf/Property.html#Property()">Property</a></strong>()</code>
<div class="block">Creates an empty property.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>&nbsp;</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/poi/hpsf/Property.html#Property(long, byte[], long, int, int)">Property</a></strong>(long&nbsp;id,
        byte[]&nbsp;src,
        long&nbsp;offset,
        int&nbsp;length,
        int&nbsp;codepage)</code>
<div class="block">Creates a <a href="../../../../org/apache/poi/hpsf/Property.html" title="class in org.apache.poi.hpsf"><code>Property</code></a> instance by reading its bytes
 from the property set stream.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>&nbsp;</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/poi/hpsf/Property.html#Property(long, long, java.lang.Object)">Property</a></strong>(long&nbsp;id,
        long&nbsp;type,
        java.lang.Object&nbsp;value)</code>
<div class="block">Creates a property.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/poi/hpsf/Property.html#equals(java.lang.Object)">equals</a></strong>(java.lang.Object&nbsp;o)</code>
<div class="block">Compares two properties.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/poi/hpsf/Property.html#getID()">getID</a></strong>()</code>
<div class="block">Returns the property's ID.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/poi/hpsf/Property.html#getSize()">getSize</a></strong>()</code>
<div class="block">Returns the property's size in bytes.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/poi/hpsf/Property.html#getType()">getType</a></strong>()</code>
<div class="block">Returns the property's type.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/poi/hpsf/Property.html#getValue()">getValue</a></strong>()</code>
<div class="block">Returns the property's value.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/poi/hpsf/Property.html#hashCode()">hashCode</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected java.util.Map&lt;?,?&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/poi/hpsf/Property.html#readDictionary(byte[], long, int, int)">readDictionary</a></strong>(byte[]&nbsp;src,
              long&nbsp;offset,
              int&nbsp;length,
              int&nbsp;codepage)</code>
<div class="block">Reads a dictionary.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/poi/hpsf/Property.html#toString()">toString</a></strong>()</code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, finalize, getClass, notify, notifyAll, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="id">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>id</h4>
<pre>protected&nbsp;long id</pre>
<div class="block"><p>The property's ID.</p></div>
</li>
</ul>
<a name="type">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>type</h4>
<pre>protected&nbsp;long type</pre>
<div class="block"><p>The property's type.</p></div>
</li>
</ul>
<a name="value">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>value</h4>
<pre>protected&nbsp;java.lang.Object value</pre>
<div class="block"><p>The property's value.</p></div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="Property(long, long, java.lang.Object)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>Property</h4>
<pre>public&nbsp;Property(long&nbsp;id,
        long&nbsp;type,
        java.lang.Object&nbsp;value)</pre>
<div class="block"><p>Creates a property.</p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>id</code> - the property's ID.</dd><dd><code>type</code> - the property's type, see <a href="../../../../org/apache/poi/hpsf/Variant.html" title="class in org.apache.poi.hpsf"><code>Variant</code></a>.</dd><dd><code>value</code> - the property's value. Only certain types are allowed, see
        <a href="../../../../org/apache/poi/hpsf/Variant.html" title="class in org.apache.poi.hpsf"><code>Variant</code></a>.</dd></dl>
</li>
</ul>
<a name="Property(long, byte[], long, int, int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>Property</h4>
<pre>public&nbsp;Property(long&nbsp;id,
        byte[]&nbsp;src,
        long&nbsp;offset,
        int&nbsp;length,
        int&nbsp;codepage)
         throws java.io.UnsupportedEncodingException</pre>
<div class="block"><p>Creates a <a href="../../../../org/apache/poi/hpsf/Property.html" title="class in org.apache.poi.hpsf"><code>Property</code></a> instance by reading its bytes
 from the property set stream.</p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>id</code> - The property's ID.</dd><dd><code>src</code> - The bytes the property set stream consists of.</dd><dd><code>offset</code> - The property's type/value pair's offset in the
 section.</dd><dd><code>length</code> - The property's type/value pair's length in bytes.</dd><dd><code>codepage</code> - The section's and thus the property's
 codepage. It is needed only when reading string values.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>java.io.UnsupportedEncodingException</code> - if the specified codepage is not
 supported.</dd></dl>
</li>
</ul>
<a name="Property()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>Property</h4>
<pre>protected&nbsp;Property()</pre>
<div class="block"><p>Creates an empty property. It must be filled using the set method to
 be usable.</p></div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="getID()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getID</h4>
<pre>public&nbsp;long&nbsp;getID()</pre>
<div class="block"><p>Returns the property's ID.</p></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>The ID value</dd></dl>
</li>
</ul>
<a name="getType()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getType</h4>
<pre>public&nbsp;long&nbsp;getType()</pre>
<div class="block"><p>Returns the property's type.</p></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>The type value</dd></dl>
</li>
</ul>
<a name="getValue()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getValue</h4>
<pre>public&nbsp;java.lang.Object&nbsp;getValue()</pre>
<div class="block"><p>Returns the property's value.</p></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>The property's value</dd></dl>
</li>
</ul>
<a name="readDictionary(byte[], long, int, int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readDictionary</h4>
<pre>protected&nbsp;java.util.Map&lt;?,?&gt;&nbsp;readDictionary(byte[]&nbsp;src,
                                long&nbsp;offset,
                                int&nbsp;length,
                                int&nbsp;codepage)
                                     throws java.io.UnsupportedEncodingException</pre>
<div class="block"><p>Reads a dictionary.</p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>src</code> - The byte array containing the bytes making out the dictionary.</dd><dd><code>offset</code> - At this offset within <var>src </var> the dictionary
        starts.</dd><dd><code>length</code> - The dictionary contains at most this many bytes.</dd><dd><code>codepage</code> - The codepage of the string values.</dd>
<dt><span class="strong">Returns:</span></dt><dd>The dictonary</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code>java.io.UnsupportedEncodingException</code> - if the dictionary's codepage is not
         (yet) supported.</dd></dl>
</li>
</ul>
<a name="getSize()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSize</h4>
<pre>protected&nbsp;int&nbsp;getSize()
               throws <a href="../../../../org/apache/poi/hpsf/WritingNotSupportedException.html" title="class in org.apache.poi.hpsf">WritingNotSupportedException</a></pre>
<div class="block"><p>Returns the property's size in bytes. This is always a multiple of
 4.</p></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the property's size in bytes</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/poi/hpsf/WritingNotSupportedException.html" title="class in org.apache.poi.hpsf">WritingNotSupportedException</a></code> - if HPSF does not yet support the
 property's variant type.</dd></dl>
</li>
</ul>
<a name="equals(java.lang.Object)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>equals</h4>
<pre>public&nbsp;boolean&nbsp;equals(java.lang.Object&nbsp;o)</pre>
<div class="block"><p>Compares two properties.</p> <p>Please beware that a property with
 ID == 0 is a special case: It does not have a type, and its value is the
 section's dictionary. Another special case are strings: Two properties
 may have the different types Variant.VT_LPSTR and Variant.VT_LPWSTR;</p></div>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code>equals</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
<dt><span class="strong">See Also:</span></dt><dd><code>Object.equals(java.lang.Object)</code></dd></dl>
</li>
</ul>
<a name="hashCode()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hashCode</h4>
<pre>public&nbsp;int&nbsp;hashCode()</pre>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code>hashCode</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
<dt><span class="strong">See Also:</span></dt><dd><code>Object.hashCode()</code></dd></dl>
</li>
</ul>
<a name="toString()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;java.lang.String&nbsp;toString()</pre>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
<dt><span class="strong">See Also:</span></dt><dd><code>Object.toString()</code></dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Property.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/poi/hpsf/NoSingleSectionException.html" title="class in org.apache.poi.hpsf"><span class="strong">PREV CLASS</span></a></li>
<li><a href="../../../../org/apache/poi/hpsf/PropertySet.html" title="class in org.apache.poi.hpsf"><span class="strong">NEXT CLASS</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/poi/hpsf/Property.html" target="_top">FRAMES</a></li>
<li><a href="Property.html" target="_top">NO FRAMES</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>SUMMARY:&nbsp;</li>
<li>NESTED&nbsp;|&nbsp;</li>
<li><a href="#field_summary">FIELD</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">CONSTR</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">METHOD</a></li>
</ul>
<ul class="subNavList">
<li>DETAIL:&nbsp;</li>
<li><a href="#field_detail">FIELD</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">CONSTR</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">METHOD</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>
                <i>Copyright 2014 The Apache Software Foundation or
        its licensors, as applicable.</i>
            </small></p>
</body>
</html>
